[INFO] cloning repository https://github.com/soumil-kumar17/data-structures
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/soumil-kumar17/data-structures" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsoumil-kumar17%2Fdata-structures", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsoumil-kumar17%2Fdata-structures'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7979558624974f9acbc509b3a4135d592517e402
[INFO] checking soumil-kumar17/data-structures against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsoumil-kumar17%2Fdata-structures" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/soumil-kumar17/data-structures
[INFO] finished tweaking git repo https://github.com/soumil-kumar17/data-structures
[INFO] tweaked toml for git repo https://github.com/soumil-kumar17/data-structures written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/soumil-kumar17/data-structures on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/soumil-kumar17/data-structures already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5f1df157b356340bbb4399115eee3bf05c71eee8f4b318cd617d43143f5eed83
[INFO] running `Command { std: "docker" "start" "-a" "5f1df157b356340bbb4399115eee3bf05c71eee8f4b318cd617d43143f5eed83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5f1df157b356340bbb4399115eee3bf05c71eee8f4b318cd617d43143f5eed83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5f1df157b356340bbb4399115eee3bf05c71eee8f4b318cd617d43143f5eed83", kill_on_drop: false }`
[INFO] [stdout] 5f1df157b356340bbb4399115eee3bf05c71eee8f4b318cd617d43143f5eed83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d118fe6cc5e47837d2bab7a39dc8bd933ebf62dd6daef9337f9a1b36cfa9e903
[INFO] running `Command { std: "docker" "start" "-a" "d118fe6cc5e47837d2bab7a39dc8bd933ebf62dd6daef9337f9a1b36cfa9e903", kill_on_drop: false }`
[INFO] [stderr]     Checking data-structures v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `curr`
[INFO] [stdout]   --> src/binary_trees/avl.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn insert_node(curr: &Rc<RefCell<AVLNode<T>>>, node: Rc<RefCell<AVLNode<T>>>) {
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_curr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/binary_trees/avl.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn insert_node(curr: &Rc<RefCell<AVLNode<T>>>, node: Rc<RefCell<AVLNode<T>>>) {
[INFO] [stdout]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitArray` is never constructed
[INFO] [stdout]  --> src/arrays/bit_array.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct BitArray {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/arrays/bit_array.rs:8:12
[INFO] [stdout]     |
[INFO] [stdout] 7   | impl BitArray {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 8   |     pub fn new(size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17  |     fn idx_to_pos(&self, idx: usize) -> (usize, usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25  |     pub fn set(&mut self, idx: usize) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30  |     pub fn get(&self, idx: usize) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35  |     pub fn clear(&mut self, idx: usize) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40  |     pub fn toggle(&mut self, idx: usize) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45  |     pub fn invert(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn union(&self, other: &Self) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64  |     pub fn intersection(&self, other: &Self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77  |     pub fn difference(&self, other: &Self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn complement(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn iter_bits<F>(&self, mut f: F)
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CircularBuffer` is never constructed
[INFO] [stdout]  --> src/arrays/circular_buffer.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct CircularBuffer<T, const N: usize> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/arrays/circular_buffer.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<T: Default + Copy, const N: usize> CircularBuffer<T, N> {
[INFO] [stdout]    | ------------------------------------------------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn push(&mut self, item: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn iter(&self) -> impl Iterator<Item = &T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DynamicArray` is never constructed
[INFO] [stdout]  --> src/arrays/dyn_array.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct DynamicArray<T, const N: usize> {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/arrays/dyn_array.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl<T: Default + Clone + Copy, const N: usize> DynamicArray<T, N> {
[INFO] [stdout]    | ------------------------------------------------------------------ associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn push(&mut self, val: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get(&self, idx: usize) -> Option<&T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn grow(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GapBuffer` is never constructed
[INFO] [stdout]  --> src/arrays/gap_buffer.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GapBuffer {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BUF_SIZE` is never used
[INFO] [stdout]   --> src/arrays/gap_buffer.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const MIN_BUF_SIZE: usize = 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHRINK_THRESHOLD` is never used
[INFO] [stdout]   --> src/arrays/gap_buffer.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const SHRINK_THRESHOLD: usize = MIN_BUF_SIZE;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/arrays/gap_buffer.rs:14:12
[INFO] [stdout]     |
[INFO] [stdout] 13  | impl GapBuffer {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 14  |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26  |     pub fn move_cursor(&mut self, pos: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37  |     fn move_left(&mut self, distance: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49  |     fn move_right(&mut self, distance: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61  |     pub fn insert(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69  |     pub fn delete(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     fn grow(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96  |     fn shrink(&mut self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn resize_buffer(&mut self, new_size: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn extract_text(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn used_size(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/binary_trees/avl.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Link<T> = Option<Rc<RefCell<AVLNode<T>>>>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AVLNode` is never constructed
[INFO] [stdout]  --> src/binary_trees/avl.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct AVLNode<T> {
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Avl` is never constructed
[INFO] [stdout]   --> src/binary_trees/avl.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Avl<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/binary_trees/avl.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> AVLNode<T> {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 19 |     fn new(data: T) -> Rc<RefCell<AVLNode<T>>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, and `insert_node` are never used
[INFO] [stdout]   --> src/binary_trees/avl.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<T: PartialOrd + Clone> Avl<T> {
[INFO] [stdout]    | ---------------------------------- associated items in this implementation
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn insert(&mut self, val: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn insert_node(curr: &Rc<RefCell<AVLNode<T>>>, node: Rc<RefCell<AVLNode<T>>>) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/binary_trees/bst.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Link<T> = Option<Rc<RefCell<BSTNode<T>>>>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BSTNode` is never constructed
[INFO] [stdout]  --> src/binary_trees/bst.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct BSTNode<T> {
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bst` is never constructed
[INFO] [stdout]   --> src/binary_trees/bst.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Bst<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/binary_trees/bst.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<T> BSTNode<T> {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 18 |     fn new(data: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/binary_trees/bst.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout] 27  | impl<T: PartialOrd + Clone> Bst<T> {
[INFO] [stdout]     | ---------------------------------- associated items in this implementation
[INFO] [stdout] 28  |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32  |     pub fn insert(&mut self, val: T) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40  |     fn insert_node(curr: &Rc<RefCell<BSTNode<T>>>, node: Rc<RefCell<BSTNode<T>>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55  |     pub fn search(&self, val: T) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59  |     fn search_node(curr: &Link<T>, val: T) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |     pub fn inorder_traversal(&self, visit_fn: &mut impl FnMut(&T)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     fn inorder(node: &Link<T>, visit_fn: &mut impl FnMut(&T)) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn preorder_traversal(&self, visit_fn: &mut impl FnMut(&T)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     fn preorder(node: &Link<T>, visit_fn: &mut impl FnMut(&T)) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98  |     pub fn postorder_traversal(&self, visit_fn: &mut impl FnMut(&T)) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn postorder(node: &Link<T>, visit_fn: &mut impl FnMut(&T)) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn delete(&mut self, val: T) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn delete_node(node: Link<T>, val: T) -> Link<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn find_min(node: &Rc<RefCell<BSTNode<T>>>) -> Rc<RefCell<BSTNode<T>>> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr`
[INFO] [stdout]   --> src/binary_trees/avl.rs:42:20
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn insert_node(curr: &Rc<RefCell<AVLNode<T>>>, node: Rc<RefCell<AVLNode<T>>>) {
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_curr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]   --> src/binary_trees/avl.rs:42:52
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn insert_node(curr: &Rc<RefCell<AVLNode<T>>>, node: Rc<RefCell<AVLNode<T>>>) {
[INFO] [stdout]    |                                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/binary_trees/avl.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Link<T> = Option<Rc<RefCell<AVLNode<T>>>>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AVLNode` is never constructed
[INFO] [stdout]  --> src/binary_trees/avl.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct AVLNode<T> {
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Avl` is never constructed
[INFO] [stdout]   --> src/binary_trees/avl.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Avl<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/binary_trees/avl.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<T> AVLNode<T> {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 19 |     fn new(data: T) -> Rc<RefCell<AVLNode<T>>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, and `insert_node` are never used
[INFO] [stdout]   --> src/binary_trees/avl.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl<T: PartialOrd + Clone> Avl<T> {
[INFO] [stdout]    | ---------------------------------- associated items in this implementation
[INFO] [stdout] 30 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn insert(&mut self, val: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn insert_node(curr: &Rc<RefCell<AVLNode<T>>>, node: Rc<RefCell<AVLNode<T>>>) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s
[INFO] running `Command { std: "docker" "inspect" "d118fe6cc5e47837d2bab7a39dc8bd933ebf62dd6daef9337f9a1b36cfa9e903", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d118fe6cc5e47837d2bab7a39dc8bd933ebf62dd6daef9337f9a1b36cfa9e903", kill_on_drop: false }`
[INFO] [stdout] d118fe6cc5e47837d2bab7a39dc8bd933ebf62dd6daef9337f9a1b36cfa9e903
